<template>
    <div class="row">
        <!-- 展示用户 -->
        <transition-group name="animate__animated animate__bounce" appear enter-active-class="animate__bounceIn"
            leave-active-class="animate__bounceOut">
            <div v-show="info.users.length" class="card" v-for="user in info.users" :key="user.id">
                <a :href="user.html_url" target="_blank">
                    <img :src="user.avatar_url" style='width: 100px' />
                </a>
                <p class="card-text">{{ user.login }}</p>
            </div>
        </transition-group>
        <!-- 展示欢迎词 -->
        <h1 v-show="info.isFirst" style="text-align: center;">🥰🥰🥰🥰 欢迎使用捏！🥰🥰🥰🥰</h1>
        <!-- 展示加载中 -->
        <h1 v-show="info.isLoading" style="text-align: center;">😫😫😫...加载中哼哼哼啊啊啊...😫😫😫</h1>
        <!-- 展示错误信息 -->
        <h1 v-show="info.errMsg" style="text-align: center;">😥😥😥😥请求出错了GG{{ info.errMsg }}😥😥😥😥</h1>
    </div>
</template>

<script>
import 'animate.css'
export default {
    data() {
        return {
            info: {
                isFirst: true,
                isLoading: false,
                errMsg: '',
                users: []
            }
        }
    },
    mounted() {
        this.$bus.$on('updateListDate', (dataObj) => {
            console.log(dataObj);
            this.info = { ...this.info, ...dataObj }//把info有的属性和dataObj对比，有的替换，没有的默认
            // this.info = dataObj
            // console.log("我是List，收到了数据", users);
            // this.isFirst = isFirst
            // this.isLoading = isLoading
            // this.errMsg = errMsg
            // this.users = users
        })
    },

}
</script>

<style  scoped>
.album {
    min-height: 50rem;
    /* Can be removed; just added for demo purposes */
    padding-top: 3rem;
    padding-bottom: 3rem;
    background-color: #f7f7f7;
}

.card {
    float: left;
    width: 33.333%;
    padding: .75rem;
    margin-bottom: 2rem;
    border: 1px solid #efefef;
    text-align: center;
    background-color: #bbbbbb;
}

.card>img {
    margin-bottom: .75rem;
    border-radius: 100px;
}

.card-text {
    font-size: 85%;
}
</style>